home *** CD-ROM | disk | FTP | other *** search
/ Language/OS - Multiplatform Resource Library / LANGUAGE OS.iso / scheme / scm / wb1a1.lha / wb / README < prev    next >
Encoding:
Text File  |  1993-06-29  |  4.5 KB  |  100 lines

  1.  WB-tree File Based Associative String Data Base System.
  2.  Copyright (c) 1991, 1992, 1993 Holland Mark Martin
  3.  
  4. Permission to use, copy, modify, and distribute this software and its
  5. documentation for educational, research, and non-profit purposes and
  6. without fee is hereby granted, provided that the above copyright
  7. notice appear in all copies and that both that copyright notice and
  8. this permission notice appear in supporting documentation, and that
  9. the name of Holland Mark Martin not be used in advertising or
  10. publicity pertaining to distribution of the software without specific,
  11. written prior consent in each case.  Permission to incorporate this
  12. software into commercial products can be obtained from Jonathan
  13. Finger, Holland Mark Martin, 174 Middlesex Turnpike, Burlington, MA,
  14. 01803-4467, USA.  Holland Mark Martin makes no representations about
  15. the suitability or correctness of this software for any purpose.  It
  16. is provided "as is" without express or implied warranty.  Holland Mark
  17. Martin is under no obligation to provide any services, by way of
  18. maintenance, update, or otherwise.
  19.  
  20. WB's Authors are Aubrey Jaffer, Jonathan Finger, and Roland Zito-Wolf.
  21. Please send bug-reports and enhancements to jaffer@ai.mit.edu
  22.  
  23.                    MANIFEST
  24.  
  25.   `README' is this file.  It contains the COPYRIGHT NOTICE, MANIFEST,
  26.     and INSTALLATION INSTRUCTIONS.
  27.  
  28.   `dbscm.doc' documents the SCM interface to WB-tree.
  29.   `ChangeLog' documents changes to the WB.
  30.   `Design.doc' describes the internal representations and algorithms.
  31.   `example.scm' example program using WB-tree in SCM.
  32.  
  33.   `defs.scm' SCM configuration code which gets compiled into defs.h.
  34.   `handle.scm blink.scm prev.scm del.scm ent.scm scan.scm stats.scm'
  35.     SCM code for WB-trees which is compiled into C code with
  36.     suffixes ".c" and ".h".
  37.   `blkio.scm' wimpy POSIX interface to the disk.  Replace this if you
  38.     have a more direct interfact to the disk.
  39.   `sys.h sys.c' System dependencies.
  40.   `sys.scm' System dependencies when debugging in SCM.
  41.   `db.c' C code for the SCM interface to WB-trees.
  42.   `db.scm' code for SCM interface when debugging in SCM.
  43.   `comp.scm' SCM code which compiles SCM code into C.
  44.   `test.scm' file for testing WB-tree system.
  45.   `test2.scm' more tests for WB-tree system.
  46.   `Makefile' Unix makefile
  47.   `VMSBUILD.COM' command script for compiling under VMS.
  48.   `make.scm' SCM program for translating and compiling WB-tree system.
  49.   `all.scm' loads all the SCM files for debugging.
  50.  
  51.   `view.c' program for viewing database files.
  52.   `check.c' program for checking, repairing, and garbage collecting
  53.     WB-tree databases.
  54.  
  55.               INSTALLATION INSTRUCTIONS
  56.  
  57. This first distribution of WB-tree requires the SCM and SLIB packages.
  58.  
  59. SCM can be obtained via FTP from:
  60. altdorf.ai.mit.edu:archive/scm/scm4c0.tar.z
  61. prep.ai.mit.edu:pub/gnu/jacal/scm4c0.tar.z
  62. nexus.yorku.ca:pub/scheme/new/scm4c0.tar.z
  63.  
  64. SLIB is a portable Scheme library which SCM uses:
  65. altdorf.ai.mit.edu:archive/scm/slib1d2.tar.z
  66. prep.ai.mit.edu:pub/gnu/jacal/slib1d2.tar.z
  67. nexus.yorku.ca:pub/scheme/new/slib1d2.tar.z
  68.  
  69. Once you have installed these packages, do "scm all" in this
  70. directory.  This will load the Scheme version of WB-tree with test
  71. code.  Typing `(main)' will construct a test database "z" in this
  72. directory.  If this runs without errors then you are ready to build
  73. the C code.  Exit from scm with `(quit)'.
  74.  
  75. If you are running on a unix system, `make' in this directory should
  76. construct the programs dbscm, check, and view.  If your C compiler
  77. can accept ANSI function prototypes, (define __STDC__ #t) in comp.scm.
  78.  
  79. On VMS systems, @VMSBUILD should construct the same programs.  On Unix
  80. and VMS systems the directories scm and wb should be in the same
  81. directory.
  82.  
  83. On other systems, run "scm" and type (load "make").  This will
  84. translate all the appropriate SCM files and then do a system call to
  85. "make".  You will need to configure your makefile for your system.
  86. If your C compiler cannot accept ANSI function prototypes, comment out
  87. the line (set! __STDC__ #t) in make.scm.
  88.  
  89. Now run "dbscm test" and type (main).  This should build the test
  90. database "z" much more quickly than before.
  91.  
  92. Type (quit) to exit from DBSCM.  Now run "check z".  This will check
  93. the structure of the database and collect temporary files.  This
  94. should reclaim 52 blocks and report no errors.  If you run it again,
  95. no blocks will be collected.
  96.  
  97. The program view will allow you to see the blocks of key-value pairs
  98. in the B-tree.  Run "view z".  Block 0 will be displayed.  To see any
  99. other block, type its number and <Return>.  To exit, type <Return>.
  100.